<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	template="/WEB-INF/templates/template.xhtml">
	<ui:define name="title">
		<h3><h:outputLabel	value="#{i18n['mpo.empresa.pagina.titulo']}" /></h3>
	</ui:define>
	<ui:define name="content">
		<h:form id="formEmpresa">
			<p:growl id="pnlMessages" closable="true"/>
			<p:toolbar>
				<p:toolbarGroup align="left">
					<p:commandButton id="btnEmpresa" value="#{i18n['label.refrescar']}" icon="ui-icon-arrowrefresh-1-w"/>
					<p:commandButton id="btnNuevaEmpresa" value="#{i18n['label.insertar']}" icon="ui-icon-disk" onclick="popUpNuevo.show()"/>
				</p:toolbarGroup>
			</p:toolbar>
			<p:panel id="pnlBuscarEmpresa" header="#{i18n['mpo.empresa.buscar']}">
				<table class="formulario">
					<tr>
						<td width="20%"><h:outputLabel for="txtNombreBuscar" value="#{i18n['mpo.empresa.nombre']}" /> </td>
						<td width="80%"><p:inputText id="txtNombreBuscar" style="width: 30%" value="#{empresaDataManager.empresaBuscar.nombreEmpresa}" /></td>
					</tr>
					<tr>
						<td><h:outputLabel for="txtRuc" value="#{i18n['mpo.empresa.ruc']}" /> </td>
						<td>
							<p:inputText id="txtRuc" style="width: 30%" value="#{empresaDataManager.empresaBuscar.rucEmpresa}" onkeypress="return soloEnteros(this, event)"/>
						</td>
					</tr>
					<tr>
						<td><h:outputLabel for="inputEstado" value="#{i18n['label.estado']}"/></td>
						<td>
							<p:selectOneMenu id="inputEstado" style="width: 30%" value="#{empresaDataManager.empresaBuscar.estado}">
								<f:selectItem itemLabel="#{i18n['label.seleccione']}" itemValue=""/>
								<f:selectItem itemLabel="#{i18n['label.estado.activo']}" itemValue="#{empresaDataManager.estadoActivo}"/>
								<f:selectItem itemLabel="#{i18n['label.estado.inactivo']}" itemValue="#{empresaDataManager.estadoInactivo}"/>
							</p:selectOneMenu>
						</td>
					</tr>
				</table>
			</p:panel>
			<p:panel id="botonesBuscar" columns="2">
				<p:commandButton id="btnBuscar"
					actionListener="#{empresaController.buscarEmpresa}"
					value="#{i18n['label.buscar']}" 
					process="@this,pnlBuscarEmpresa"
					update=":formEmpresa:pnlMessages,tablaEmpresa,pnlBuscarEmpresa" />
			</p:panel>
			<p:dataTable id="tablaEmpresa"
				value="#{empresaDataManager.listaEmpresa}"
				var="empresa" rowIndexVar="rowIndex"
				paginator="true" rows="5" paginatorPosition="bottom"
				paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				rowsPerPageTemplate="5,10,15" emptyMessage="#{i18n['mpo.mensaje.lista.vacia']}" rowKey="#{empresa.idEmpresa}">
				
				<p:ajax event="rowToggle" listener="#{empresaController.obtenerModulosEmpresa(empresa)}" update="#{empresa.idEmpresa}" />
				
				<f:facet name="header">
					#{i18n['mpo.empresa.lista']}
				</f:facet>
				<p:column style="width:5%">
					<p:rowToggler />
				</p:column>
				<p:column headerText="#" styleClass="centered" width="5%">
					#{rowIndex+1}
				</p:column>
				<p:column headerText="#{i18n['mpo.empresa.nombre']}" width="25%">
					<h:outputText value="#{empresa.nombreEmpresa}" />
				</p:column>
				<p:column headerText="#{i18n['label.ruc']}" width="20%">
					<h:outputText value="#{empresa.rucEmpresa}" />
				</p:column>
				<p:column headerText="#{i18n['label.estado']}" styleClass="centered" width="10%">
					<h:outputText value="#{i18n['label.estado.activo']}"
						rendered="#{empresa.estado eq empresaDataManager.estadoActivo}" />
					<h:outputText value="#{i18n['label.estado.inactivo']}"
						rendered="#{empresa.estado eq empresaDataManager.estadoInactivo}" />
				</p:column>
				<p:column headerText="#{i18n['label.opciones']}" styleClass="centered" width="10%">
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							title="#{i18n['label.editar']}"
							oncomplete="dlgEditarEmpresa.show();"
							process="@this,:formEditarEmpresa:pnlEditarEmpresa"
							update=":formEditarEmpresa:pnlEditarEmpresa">
							<h:graphicImage value="/resources/img/edit.png" alt="#{i18n['label.editar']}"/>
							<f:setPropertyActionListener target="#{empresaDataManager.empresaEditar}" value="#{empresa}" />
						</p:commandLink>
					</h:panelGroup>
					<h:panelGroup>
						<h:outputText value="&#160;|&#160;" />
					</h:panelGroup>
					<!-- activar -->
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							title="#{i18n['label.activar']}"
							oncomplete="dlgActivar.show();"
							rendered="#{empresa.estado eq empresaDataManager.estadoInactivo}">
							<h:graphicImage value="/resources/img/tick.png" alt="#{i18n['label.activar']}"/>
							<f:setPropertyActionListener target="#{empresaDataManager.empresaEditar}" value="#{empresa}" />
						</p:commandLink>
					</h:panelGroup>
					<!-- desactivar -->
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							title="#{i18n['label.desabilitar']}"
							process="@this" update=":formEmpresa:dialogDesactivar"
							actionListener="#{empresaController.cargarDatosEmpresa(empresa)}"
							oncomplete="dlgInactivar.show();"
							rendered="#{empresa.estado eq empresaDataManager.estadoActivo}">
							<h:graphicImage value="/resources/img/delete.png" alt="#{i18n['label.desabilitar']}"/>
						</p:commandLink>
					</h:panelGroup>
				</p:column>
				<p:rowExpansion>
					<h:panelGroup rendered="#{not empty empresa.npColModulos}">
						<p:dataTable id="tablaModulo" rowIndexVar="rowIndex"
							value="#{empresa.npColModulos}" var="modulo">
							<f:facet name="header">
								Modulos Asignados a la empresa
							</f:facet>
							<p:column headerText="#" styleClass="centered" width="5%">
								#{rowIndex+1}
							</p:column>
							<p:column headerText="#{i18n['mpo.modulo.nombre']}" width="35%">
								<h:outputText value="#{modulo.nombreModulo}" />
							</p:column>
							<p:column headerText="#{i18n['mpo.modulo.descripcion']}" width="40%">
								<h:outputText value="#{modulo.descModulo}" />
							</p:column>
							<p:column headerText="#{i18n['label.estado']}" styleClass="centered" width="10%">
								<h:outputText value="#{i18n['label.estado.activo']}"
									rendered="#{modulo.estado eq empresaDataManager.estadoActivo}" />
								<h:outputText value="#{i18n['label.estado.inactivo']}"
									rendered="#{modulo.estado eq empresaDataManager.estadoInactivo}" />
							</p:column>
						</p:dataTable>
					</h:panelGroup >
					<h:panelGroup rendered="#{empty empresa.npColModulos}">
						<h:outputLabel value="La empresa seleccionada no tiene modulos asignados"/>
					</h:panelGroup>
				</p:rowExpansion>
			</p:dataTable>
			<!-- Desactivar empresa -->
			<p:confirmDialog id="dialogDesactivar" width="400" 
				message="#{empresaDataManager.mensaje}" appendTo="@(body)"
				header="#{i18n['mpo.empresa.desactivar']}" severity="alert" widgetVar="dlgInactivar" >
				<p:commandButton value="#{i18n['label.aceptar']}"
					actionListener="#{empresaController.desactivarEmpresa}"
					oncomplete="dlgInactivar.hide()" 
					update="pnlMessages,tablaEmpresa" process="@this"/>
				<p:commandButton value="#{i18n['label.cancelar']}" onclick="dlgInactivar.hide();" type="button" />
			</p:confirmDialog>
			<!-- Activar empresa -->
			<p:confirmDialog id="dialogActivar" message="#{i18n['mpo.empresa.activar.pregunta.confirmacion']}" appendTo="@(body)"
				header="#{i18n['mpo.empresa.activar']}" severity="alert" widgetVar="dlgActivar" >
				<p:commandButton value="#{i18n['label.aceptar']}"
					actionListener="#{empresaController.activarEmpresa}"
					oncomplete="dlgActivar.hide()" 
					update="pnlMessages,tablaEmpresa" process="@this"/>
				<p:commandButton value="#{i18n['label.cancelar']}" onclick="dlgActivar.hide();" type="button" />
			</p:confirmDialog>
		</h:form>
		<ui:include src="dialogNuevaEmpresa.xhtml" />
		<ui:include src="dialogEditarEmpresa.xhtml" />
	</ui:define>
</ui:composition>